<!-- This comment will put IE 6, 7 and 8 in quirks mode -->
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<title>shark::RBFLayer Class Reference</title>
<script type="text/javaScript" src="search/search.js"></script>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<script src="https://polyfill.io/v3/polyfill.min.js?features=es6"></script>
<script id="MathJax-script" async src="https://cdn.jsdelivr.net/npm/mathjax@3.0.1/es5/tex-mml-chtml.js"></script>
<script src="../../mlstyle.js"></script>
<link href="../css/besser.css" rel="stylesheet" type="text/css"/>
</head>
<!-- pretty cool: each body gets an id tag which is the basename of the web page  -->
<!--              and allows for page-specific CSS. this is client-side scripted, -->
<!--              so the id will not yet show up in the served source code -->
<script type="text/javascript">
    jQuery(document).ready(function () {
        var url = jQuery(location).attr('href');
        var pname = url.substr(url.lastIndexOf("/")+1, url.lastIndexOf(".")-url.lastIndexOf("/")-1);
        jQuery('#this_url').html('<strong>' + pname + '</strong>');
        jQuery('body').attr('id', pname);
    });
</script>
<body>
    <div id="shark_old">
        <div id="wrap">
            <div id="header">
                <div id="site-name"><a href="../../sphinx_pages/build/html/index.html">Shark machine learning library</a></div>
                <ul id="nav">
                    <li >
                        <a href="../../sphinx_pages/build/html/rest_sources/installation.html">Installation</a>
                    </li>
		    <li >
                        <a href="../../sphinx_pages/build/html/rest_sources/tutorials/tutorials.html">Tutorials</a>
                    </li>
		    <li >
                        <a href="../../sphinx_pages/build/html/rest_sources/benchmark.html">Benchmarks</a>
                    </li>
                    <li class="active">
                        <a href="classes.html">Documentation</a>
                        <ul>
                            <li class="first"></li>
                            <li><a href="../../sphinx_pages/build/html/rest_sources/quickref/quickref.html">Quick references</a></li>
                            <li><a href="classes.html">Class list</a></li>
                            <li class="last"><a href="group__shark__globals.html">Global functions</a></li>
                        </ul>
                    </li>
                </ul>
            </div>
        </div>
    </div>
<div id="doxywrapper">
<!--
    <div id="global_doxytitle">Doxygen<br>Documentation:</div>
-->
    <div id="navrow_wrapper">
<!-- Generated by Doxygen 1.9.8 -->
<div id="nav-path" class="navpath">
  <ul>
<li class="navelem"><a class="el" href="namespaceshark.html">shark</a></li><li class="navelem"><a class="el" href="classshark_1_1_r_b_f_layer.html">RBFLayer</a></li>  </ul>
</div>
</div><!-- top -->
<div class="header">
  <div class="summary">
<a href="classshark_1_1_r_b_f_layer-members.html">List of all members</a> &#124;
<a href="#nested-classes">Classes</a> &#124;
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="#pro-attribs">Protected Attributes</a>  </div>
  <div class="headertitle"><div class="title">shark::RBFLayer Class Reference<div class="ingroups"><a class="el" href="group__models.html">Models</a></div></div></div>
</div><!--header-->
<div class="contents">

<p>Implements a layer of radial basis functions in a neural network.  
 <a href="classshark_1_1_r_b_f_layer.html#details">More...</a></p>

<p><code>#include &lt;<a class="el" href="_r_b_f_layer_8h_source.html">shark/Models/RBFLayer.h</a>&gt;</code></p>
<div id="dynsection-0" onclick="return toggleVisibility(this)" class="dynheader closed" style="cursor:pointer;">
  <img id="dynsection-0-trigger" src="closed.png" alt="+"/> Inheritance diagram for shark::RBFLayer:</div>
<div id="dynsection-0-summary" class="dynsummary" style="display:block;">
</div>
<div id="dynsection-0-content" class="dyncontent" style="display:none;">
<div class="center"><img src="classshark_1_1_r_b_f_layer__inherit__graph.png" border="0" usemap="#ashark_1_1_r_b_f_layer_inherit__map" alt="Inheritance graph"/></div>
<map name="ashark_1_1_r_b_f_layer_inherit__map" id="ashark_1_1_r_b_f_layer_inherit__map">
<area shape="rect" title="Implements a layer of radial basis functions in a neural network." alt="" coords="36,94,157,120"/>
<area shape="rect" href="classshark_1_1_abstract_model.html" title=" " alt="" coords="5,5,188,46"/>
<area shape="poly" title=" " alt="" coords="99,62,99,93,94,93,94,62"/>
</map>
<center><span class="legend">[<a href="graph_legend.html">legend</a>]</span></center></div>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pub-methods" name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:aa6b23dfb2c34ecbb5d96034eb17bd5b6" id="r_aa6b23dfb2c34ecbb5d96034eb17bd5b6"><td class="memItemLeft" align="right" valign="top"><a class="el" href="_d_l_l_support_8h.html#a54b73283f7f70b27fbd8ac5d4621827f">SHARK_EXPORT_SYMBOL</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classshark_1_1_r_b_f_layer.html#aa6b23dfb2c34ecbb5d96034eb17bd5b6">RBFLayer</a> ()</td></tr>
<tr class="memdesc:aa6b23dfb2c34ecbb5d96034eb17bd5b6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Creates an empty Radial Basis Function layer.  <br /></td></tr>
<tr class="separator:aa6b23dfb2c34ecbb5d96034eb17bd5b6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa6a28b5b0f7b69d9b2a319b1e1e8408e" id="r_aa6a28b5b0f7b69d9b2a319b1e1e8408e"><td class="memItemLeft" align="right" valign="top"><a class="el" href="_d_l_l_support_8h.html#a54b73283f7f70b27fbd8ac5d4621827f">SHARK_EXPORT_SYMBOL</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classshark_1_1_r_b_f_layer.html#aa6a28b5b0f7b69d9b2a319b1e1e8408e">RBFLayer</a> (std::size_t numInput, std::size_t numOutput)</td></tr>
<tr class="memdesc:aa6a28b5b0f7b69d9b2a319b1e1e8408e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Creates a layer of a Radial Basis Function Network.  <br /></td></tr>
<tr class="separator:aa6a28b5b0f7b69d9b2a319b1e1e8408e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5c92a238e03636179012151422f54024" id="r_a5c92a238e03636179012151422f54024"><td class="memItemLeft" align="right" valign="top">std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classshark_1_1_r_b_f_layer.html#a5c92a238e03636179012151422f54024">name</a> () const</td></tr>
<tr class="memdesc:a5c92a238e03636179012151422f54024"><td class="mdescLeft">&#160;</td><td class="mdescRight">From <a class="el" href="classshark_1_1_i_nameable.html" title="This class is an interface for all objects which can have a name.">INameable</a>: return the class name.  <br /></td></tr>
<tr class="separator:a5c92a238e03636179012151422f54024"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5e089c9692be82ff557922798fecd588" id="r_a5e089c9692be82ff557922798fecd588"><td class="memItemLeft" align="right" valign="top"><a class="el" href="_d_l_l_support_8h.html#a54b73283f7f70b27fbd8ac5d4621827f">SHARK_EXPORT_SYMBOL</a> RealVector&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classshark_1_1_r_b_f_layer.html#a5e089c9692be82ff557922798fecd588">parameterVector</a> () const</td></tr>
<tr class="memdesc:a5e089c9692be82ff557922798fecd588"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the current parameter vector. The amount and order of weights depend on the training parameters.  <br /></td></tr>
<tr class="separator:a5e089c9692be82ff557922798fecd588"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8b8883b0033bb8a18936be6ee378d866" id="r_a8b8883b0033bb8a18936be6ee378d866"><td class="memItemLeft" align="right" valign="top"><a class="el" href="_d_l_l_support_8h.html#a54b73283f7f70b27fbd8ac5d4621827f">SHARK_EXPORT_SYMBOL</a> void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classshark_1_1_r_b_f_layer.html#a8b8883b0033bb8a18936be6ee378d866">setParameterVector</a> (RealVector const &amp;newParameters)</td></tr>
<tr class="memdesc:a8b8883b0033bb8a18936be6ee378d866"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets the new internal parameters.  <br /></td></tr>
<tr class="separator:a8b8883b0033bb8a18936be6ee378d866"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae53a34bf645bccbbbc940159401268cc" id="r_ae53a34bf645bccbbbc940159401268cc"><td class="memItemLeft" align="right" valign="top"><a class="el" href="_d_l_l_support_8h.html#a54b73283f7f70b27fbd8ac5d4621827f">SHARK_EXPORT_SYMBOL</a> std::size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classshark_1_1_r_b_f_layer.html#ae53a34bf645bccbbbc940159401268cc">numberOfParameters</a> () const</td></tr>
<tr class="memdesc:ae53a34bf645bccbbbc940159401268cc"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the number of parameters which are currently enabled for training.  <br /></td></tr>
<tr class="separator:ae53a34bf645bccbbbc940159401268cc"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a44b2ae85c21a914c7e82b613fd99b311" id="r_a44b2ae85c21a914c7e82b613fd99b311"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classshark_1_1_shape.html">Shape</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classshark_1_1_r_b_f_layer.html#a44b2ae85c21a914c7e82b613fd99b311">inputShape</a> () const</td></tr>
<tr class="memdesc:a44b2ae85c21a914c7e82b613fd99b311"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the number of input neurons.  <br /></td></tr>
<tr class="separator:a44b2ae85c21a914c7e82b613fd99b311"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5f0b042b8eaffbd25b1c3b980f0073c5" id="r_a5f0b042b8eaffbd25b1c3b980f0073c5"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classshark_1_1_shape.html">Shape</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classshark_1_1_r_b_f_layer.html#a5f0b042b8eaffbd25b1c3b980f0073c5">outputShape</a> () const</td></tr>
<tr class="memdesc:a5f0b042b8eaffbd25b1c3b980f0073c5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the number of output neurons.  <br /></td></tr>
<tr class="separator:a5f0b042b8eaffbd25b1c3b980f0073c5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3193c0bff83fdf1e5ed37f12d9639351" id="r_a3193c0bff83fdf1e5ed37f12d9639351"><td class="memItemLeft" align="right" valign="top">boost::shared_ptr&lt; <a class="el" href="structshark_1_1_state.html">State</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classshark_1_1_r_b_f_layer.html#a3193c0bff83fdf1e5ed37f12d9639351">createState</a> () const</td></tr>
<tr class="memdesc:a3193c0bff83fdf1e5ed37f12d9639351"><td class="mdescLeft">&#160;</td><td class="mdescRight">Creates an internal state of the model.  <br /></td></tr>
<tr class="separator:a3193c0bff83fdf1e5ed37f12d9639351"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1218b1268f1cac744be2ac911fce9484" id="r_a1218b1268f1cac744be2ac911fce9484"><td class="memItemLeft" align="right" valign="top"><a class="el" href="_d_l_l_support_8h.html#a54b73283f7f70b27fbd8ac5d4621827f">SHARK_EXPORT_SYMBOL</a> void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classshark_1_1_r_b_f_layer.html#a1218b1268f1cac744be2ac911fce9484">setStructure</a> (std::size_t numInput, std::size_t numOutput)</td></tr>
<tr class="memdesc:a1218b1268f1cac744be2ac911fce9484"><td class="mdescLeft">&#160;</td><td class="mdescRight">Configures a Radial Basis Function Network.  <br /></td></tr>
<tr class="separator:a1218b1268f1cac744be2ac911fce9484"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab37758750b8174cf1d93aa5e90eacef1" id="r_ab37758750b8174cf1d93aa5e90eacef1"><td class="memItemLeft" align="right" valign="top"><a class="el" href="_d_l_l_support_8h.html#a54b73283f7f70b27fbd8ac5d4621827f">SHARK_EXPORT_SYMBOL</a> void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classshark_1_1_r_b_f_layer.html#ab37758750b8174cf1d93aa5e90eacef1">eval</a> (<a class="el" href="classshark_1_1_abstract_model.html#a518304e95092673b7b6438cace052ef6">BatchInputType</a> const &amp;patterns, <a class="el" href="classshark_1_1_abstract_model.html#aa0c72e230b9a1324c95ba8ac0b07ba13">BatchOutputType</a> &amp;outputs, <a class="el" href="structshark_1_1_state.html">State</a> &amp;state) const</td></tr>
<tr class="memdesc:ab37758750b8174cf1d93aa5e90eacef1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Standard interface for evaluating the response of the model to a batch of patterns.  <br /></td></tr>
<tr class="separator:ab37758750b8174cf1d93aa5e90eacef1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae157c4443c817e640e439081a380c1c9" id="r_ae157c4443c817e640e439081a380c1c9"><td class="memItemLeft" align="right" valign="top"><a class="el" href="_d_l_l_support_8h.html#a54b73283f7f70b27fbd8ac5d4621827f">SHARK_EXPORT_SYMBOL</a> void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classshark_1_1_r_b_f_layer.html#ae157c4443c817e640e439081a380c1c9">weightedParameterDerivative</a> (<a class="el" href="classshark_1_1_abstract_model.html#a518304e95092673b7b6438cace052ef6">BatchInputType</a> const &amp;pattern, <a class="el" href="classshark_1_1_abstract_model.html#aa0c72e230b9a1324c95ba8ac0b07ba13">BatchOutputType</a> const &amp;outputs, <a class="el" href="classshark_1_1_abstract_model.html#aa0c72e230b9a1324c95ba8ac0b07ba13">BatchOutputType</a> const &amp;coefficients, <a class="el" href="structshark_1_1_state.html">State</a> const &amp;state, RealVector &amp;gradient) const</td></tr>
<tr class="memdesc:ae157c4443c817e640e439081a380c1c9"><td class="mdescLeft">&#160;</td><td class="mdescRight">calculates the weighted sum of derivatives w.r.t the parameters.  <br /></td></tr>
<tr class="separator:ae157c4443c817e640e439081a380c1c9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab5f5fa653d9306ed7f27d415531d1b75" id="r_ab5f5fa653d9306ed7f27d415531d1b75"><td class="memItemLeft" align="right" valign="top"><a class="el" href="_d_l_l_support_8h.html#a54b73283f7f70b27fbd8ac5d4621827f">SHARK_EXPORT_SYMBOL</a> void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classshark_1_1_r_b_f_layer.html#ab5f5fa653d9306ed7f27d415531d1b75">setTrainingParameters</a> (bool <a class="el" href="classshark_1_1_r_b_f_layer.html#ad8f489205e3fb40eb807298df0c4819a">centers</a>, bool width)</td></tr>
<tr class="memdesc:ab5f5fa653d9306ed7f27d415531d1b75"><td class="mdescLeft">&#160;</td><td class="mdescRight">Enables or disables parameters for learning.  <br /></td></tr>
<tr class="separator:ab5f5fa653d9306ed7f27d415531d1b75"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad8f489205e3fb40eb807298df0c4819a" id="r_ad8f489205e3fb40eb807298df0c4819a"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classshark_1_1_abstract_model.html#a518304e95092673b7b6438cace052ef6">BatchInputType</a> const &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classshark_1_1_r_b_f_layer.html#ad8f489205e3fb40eb807298df0c4819a">centers</a> () const</td></tr>
<tr class="memdesc:ad8f489205e3fb40eb807298df0c4819a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the center values of the neurons.  <br /></td></tr>
<tr class="separator:ad8f489205e3fb40eb807298df0c4819a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af81dd8790d90e312bb3c7e595e86fe3f" id="r_af81dd8790d90e312bb3c7e595e86fe3f"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classshark_1_1_abstract_model.html#a518304e95092673b7b6438cace052ef6">BatchInputType</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classshark_1_1_r_b_f_layer.html#af81dd8790d90e312bb3c7e595e86fe3f">centers</a> ()</td></tr>
<tr class="memdesc:af81dd8790d90e312bb3c7e595e86fe3f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets the center values of the neurons.  <br /></td></tr>
<tr class="separator:af81dd8790d90e312bb3c7e595e86fe3f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae5709681c4970ec1eecfc091ef67a17c" id="r_ae5709681c4970ec1eecfc091ef67a17c"><td class="memItemLeft" align="right" valign="top">RealVector const &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classshark_1_1_r_b_f_layer.html#ae5709681c4970ec1eecfc091ef67a17c">gamma</a> () const</td></tr>
<tr class="memdesc:ae5709681c4970ec1eecfc091ef67a17c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the width parameter of the Gaussian functions.  <br /></td></tr>
<tr class="separator:ae5709681c4970ec1eecfc091ef67a17c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9cd0894ca90ba7ec7c52956c22ada23c" id="r_a9cd0894ca90ba7ec7c52956c22ada23c"><td class="memItemLeft" align="right" valign="top"><a class="el" href="_d_l_l_support_8h.html#a54b73283f7f70b27fbd8ac5d4621827f">SHARK_EXPORT_SYMBOL</a> void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classshark_1_1_r_b_f_layer.html#a9cd0894ca90ba7ec7c52956c22ada23c">setGamma</a> (RealVector const &amp;<a class="el" href="classshark_1_1_r_b_f_layer.html#ae5709681c4970ec1eecfc091ef67a17c">gamma</a>)</td></tr>
<tr class="memdesc:a9cd0894ca90ba7ec7c52956c22ada23c"><td class="mdescLeft">&#160;</td><td class="mdescRight">sets the width parameters - the gamma values - of the distributions.  <br /></td></tr>
<tr class="separator:a9cd0894ca90ba7ec7c52956c22ada23c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a332b99e89c51c3a80da79691f7b878f5" id="r_a332b99e89c51c3a80da79691f7b878f5"><td class="memItemLeft" align="right" valign="top"><a class="el" href="_d_l_l_support_8h.html#a54b73283f7f70b27fbd8ac5d4621827f">SHARK_EXPORT_SYMBOL</a> void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classshark_1_1_r_b_f_layer.html#a332b99e89c51c3a80da79691f7b878f5">read</a> (<a class="el" href="namespaceshark.html#ada68729491840669e47c8ad42282424f">InArchive</a> &amp;archive)</td></tr>
<tr class="memdesc:a332b99e89c51c3a80da79691f7b878f5"><td class="mdescLeft">&#160;</td><td class="mdescRight">From <a class="el" href="classshark_1_1_i_serializable.html" title="Abstracts serializing functionality.">ISerializable</a>, reads a model from an archive.  <br /></td></tr>
<tr class="separator:a332b99e89c51c3a80da79691f7b878f5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a05b2cbad373fbe6e71cae2df22cc6887" id="r_a05b2cbad373fbe6e71cae2df22cc6887"><td class="memItemLeft" align="right" valign="top"><a class="el" href="_d_l_l_support_8h.html#a54b73283f7f70b27fbd8ac5d4621827f">SHARK_EXPORT_SYMBOL</a> void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classshark_1_1_r_b_f_layer.html#a05b2cbad373fbe6e71cae2df22cc6887">write</a> (<a class="el" href="namespaceshark.html#af4f8eb8e9618f5236b71bbcb12b8a524">OutArchive</a> &amp;archive) const</td></tr>
<tr class="memdesc:a05b2cbad373fbe6e71cae2df22cc6887"><td class="mdescLeft">&#160;</td><td class="mdescRight">From <a class="el" href="classshark_1_1_i_serializable.html" title="Abstracts serializing functionality.">ISerializable</a>, writes a model to an archive.  <br /></td></tr>
<tr class="separator:a05b2cbad373fbe6e71cae2df22cc6887"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pub_methods_classshark_1_1_abstract_model"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_classshark_1_1_abstract_model')"><img src="closed.png" alt="-"/>&#160;Public Member Functions inherited from <a class="el" href="classshark_1_1_abstract_model.html">shark::AbstractModel&lt; RealVector, RealVector &gt;</a></td></tr>
<tr class="memitem:a0b7aeb13b70c8d4cffc4958e6583627c inherit pub_methods_classshark_1_1_abstract_model" id="r_a0b7aeb13b70c8d4cffc4958e6583627c"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classshark_1_1_abstract_model.html#a0b7aeb13b70c8d4cffc4958e6583627c">AbstractModel</a> ()</td></tr>
<tr class="separator:a0b7aeb13b70c8d4cffc4958e6583627c inherit pub_methods_classshark_1_1_abstract_model"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad07313494d4f88c8294410d0c77d80b7 inherit pub_methods_classshark_1_1_abstract_model" id="r_ad07313494d4f88c8294410d0c77d80b7"><td class="memItemLeft" align="right" valign="top">virtual&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classshark_1_1_abstract_model.html#ad07313494d4f88c8294410d0c77d80b7">~AbstractModel</a> ()</td></tr>
<tr class="separator:ad07313494d4f88c8294410d0c77d80b7 inherit pub_methods_classshark_1_1_abstract_model"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a234570c3bc1f1fdf06e67ecc4751fa24 inherit pub_methods_classshark_1_1_abstract_model" id="r_a234570c3bc1f1fdf06e67ecc4751fa24"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="classshark_1_1_abstract_model.html#aa6b242b73aadc63380181fdf4da1db84">Features</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classshark_1_1_abstract_model.html#a234570c3bc1f1fdf06e67ecc4751fa24">features</a> () const</td></tr>
<tr class="separator:a234570c3bc1f1fdf06e67ecc4751fa24 inherit pub_methods_classshark_1_1_abstract_model"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af8cb877bb0c6b8e713e852f9057a6eae inherit pub_methods_classshark_1_1_abstract_model" id="r_af8cb877bb0c6b8e713e852f9057a6eae"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classshark_1_1_abstract_model.html#af8cb877bb0c6b8e713e852f9057a6eae">updateFeatures</a> ()</td></tr>
<tr class="separator:af8cb877bb0c6b8e713e852f9057a6eae inherit pub_methods_classshark_1_1_abstract_model"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae04810c1ae40f816872eba4ef3953e36 inherit pub_methods_classshark_1_1_abstract_model" id="r_ae04810c1ae40f816872eba4ef3953e36"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classshark_1_1_abstract_model.html#ae04810c1ae40f816872eba4ef3953e36">hasFirstParameterDerivative</a> () const</td></tr>
<tr class="memdesc:ae04810c1ae40f816872eba4ef3953e36 inherit pub_methods_classshark_1_1_abstract_model"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns true when the first parameter derivative is implemented.  <br /></td></tr>
<tr class="separator:ae04810c1ae40f816872eba4ef3953e36 inherit pub_methods_classshark_1_1_abstract_model"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1092b50b56555e8f2e8b4d4aa57eb3c3 inherit pub_methods_classshark_1_1_abstract_model" id="r_a1092b50b56555e8f2e8b4d4aa57eb3c3"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classshark_1_1_abstract_model.html#a1092b50b56555e8f2e8b4d4aa57eb3c3">hasFirstInputDerivative</a> () const</td></tr>
<tr class="memdesc:a1092b50b56555e8f2e8b4d4aa57eb3c3 inherit pub_methods_classshark_1_1_abstract_model"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns true when the first input derivative is implemented.  <br /></td></tr>
<tr class="separator:a1092b50b56555e8f2e8b4d4aa57eb3c3 inherit pub_methods_classshark_1_1_abstract_model"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac7edef74da55322b6aef0ba65b08592d inherit pub_methods_classshark_1_1_abstract_model" id="r_ac7edef74da55322b6aef0ba65b08592d"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classshark_1_1_abstract_model.html#ac7edef74da55322b6aef0ba65b08592d">eval</a> (<a class="el" href="classshark_1_1_abstract_model.html#a518304e95092673b7b6438cace052ef6">BatchInputType</a> const &amp;patterns, <a class="el" href="classshark_1_1_abstract_model.html#aa0c72e230b9a1324c95ba8ac0b07ba13">BatchOutputType</a> &amp;outputs) const</td></tr>
<tr class="memdesc:ac7edef74da55322b6aef0ba65b08592d inherit pub_methods_classshark_1_1_abstract_model"><td class="mdescLeft">&#160;</td><td class="mdescRight">Standard interface for evaluating the response of the model to a batch of patterns.  <br /></td></tr>
<tr class="separator:ac7edef74da55322b6aef0ba65b08592d inherit pub_methods_classshark_1_1_abstract_model"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3a331290a6cb2840663d2178899366c8 inherit pub_methods_classshark_1_1_abstract_model" id="r_a3a331290a6cb2840663d2178899366c8"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classshark_1_1_abstract_model.html#a3a331290a6cb2840663d2178899366c8">eval</a> (<a class="el" href="classshark_1_1_abstract_model.html#a714e85d7a6cd2b68898cb5dbb25c37d4">InputType</a> const &amp;pattern, <a class="el" href="classshark_1_1_abstract_model.html#a8e5acf043e3a76b50d15a852365801b4">OutputType</a> &amp;output) const</td></tr>
<tr class="memdesc:a3a331290a6cb2840663d2178899366c8 inherit pub_methods_classshark_1_1_abstract_model"><td class="mdescLeft">&#160;</td><td class="mdescRight">Standard interface for evaluating the response of the model to a single pattern.  <br /></td></tr>
<tr class="separator:a3a331290a6cb2840663d2178899366c8 inherit pub_methods_classshark_1_1_abstract_model"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0b69168617355ebbd470caf2393a541f inherit pub_methods_classshark_1_1_abstract_model" id="r_a0b69168617355ebbd470caf2393a541f"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classshark_1_1_data.html">Data</a>&lt; <a class="el" href="classshark_1_1_abstract_model.html#a8e5acf043e3a76b50d15a852365801b4">OutputType</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classshark_1_1_abstract_model.html#a0b69168617355ebbd470caf2393a541f">operator()</a> (<a class="el" href="classshark_1_1_data.html">Data</a>&lt; <a class="el" href="classshark_1_1_abstract_model.html#a714e85d7a6cd2b68898cb5dbb25c37d4">InputType</a> &gt; const &amp;patterns) const</td></tr>
<tr class="memdesc:a0b69168617355ebbd470caf2393a541f inherit pub_methods_classshark_1_1_abstract_model"><td class="mdescLeft">&#160;</td><td class="mdescRight">Model evaluation as an operator for a whole dataset. This is a convenience function.  <br /></td></tr>
<tr class="separator:a0b69168617355ebbd470caf2393a541f inherit pub_methods_classshark_1_1_abstract_model"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a78b0b0517a53c93013b9372292f73a78 inherit pub_methods_classshark_1_1_abstract_model" id="r_a78b0b0517a53c93013b9372292f73a78"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classshark_1_1_abstract_model.html#a8e5acf043e3a76b50d15a852365801b4">OutputType</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classshark_1_1_abstract_model.html#a78b0b0517a53c93013b9372292f73a78">operator()</a> (<a class="el" href="classshark_1_1_abstract_model.html#a714e85d7a6cd2b68898cb5dbb25c37d4">InputType</a> const &amp;pattern) const</td></tr>
<tr class="memdesc:a78b0b0517a53c93013b9372292f73a78 inherit pub_methods_classshark_1_1_abstract_model"><td class="mdescLeft">&#160;</td><td class="mdescRight">Model evaluation as an operator for a single pattern. This is a convenience function.  <br /></td></tr>
<tr class="separator:a78b0b0517a53c93013b9372292f73a78 inherit pub_methods_classshark_1_1_abstract_model"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa10f381b3bd678c82a600c5bc6ac0ec3 inherit pub_methods_classshark_1_1_abstract_model" id="r_aa10f381b3bd678c82a600c5bc6ac0ec3"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classshark_1_1_abstract_model.html#aa0c72e230b9a1324c95ba8ac0b07ba13">BatchOutputType</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classshark_1_1_abstract_model.html#aa10f381b3bd678c82a600c5bc6ac0ec3">operator()</a> (<a class="el" href="classshark_1_1_abstract_model.html#a518304e95092673b7b6438cace052ef6">BatchInputType</a> const &amp;patterns) const</td></tr>
<tr class="memdesc:aa10f381b3bd678c82a600c5bc6ac0ec3 inherit pub_methods_classshark_1_1_abstract_model"><td class="mdescLeft">&#160;</td><td class="mdescRight">Model evaluation as an operator for a single pattern. This is a convenience function.  <br /></td></tr>
<tr class="separator:aa10f381b3bd678c82a600c5bc6ac0ec3 inherit pub_methods_classshark_1_1_abstract_model"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3c192dedb474c5a8e39b1f46d99f94cc inherit pub_methods_classshark_1_1_abstract_model" id="r_a3c192dedb474c5a8e39b1f46d99f94cc"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classshark_1_1_abstract_model.html#a3c192dedb474c5a8e39b1f46d99f94cc">weightedInputDerivative</a> (<a class="el" href="classshark_1_1_abstract_model.html#a518304e95092673b7b6438cace052ef6">BatchInputType</a> const &amp;pattern, <a class="el" href="classshark_1_1_abstract_model.html#aa0c72e230b9a1324c95ba8ac0b07ba13">BatchOutputType</a> const &amp;outputs, <a class="el" href="classshark_1_1_abstract_model.html#aa0c72e230b9a1324c95ba8ac0b07ba13">BatchOutputType</a> const &amp;coefficients, <a class="el" href="structshark_1_1_state.html">State</a> const &amp;state, <a class="el" href="classshark_1_1_abstract_model.html#a518304e95092673b7b6438cace052ef6">BatchInputType</a> &amp;derivative) const</td></tr>
<tr class="memdesc:a3c192dedb474c5a8e39b1f46d99f94cc inherit pub_methods_classshark_1_1_abstract_model"><td class="mdescLeft">&#160;</td><td class="mdescRight">calculates the weighted sum of derivatives w.r.t the inputs  <br /></td></tr>
<tr class="separator:a3c192dedb474c5a8e39b1f46d99f94cc inherit pub_methods_classshark_1_1_abstract_model"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:adb4966b597013417b5e9957c84485c8c inherit pub_methods_classshark_1_1_abstract_model" id="r_adb4966b597013417b5e9957c84485c8c"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classshark_1_1_abstract_model.html#adb4966b597013417b5e9957c84485c8c">weightedDerivatives</a> (<a class="el" href="classshark_1_1_abstract_model.html#a518304e95092673b7b6438cace052ef6">BatchInputType</a> const &amp;patterns, <a class="el" href="classshark_1_1_abstract_model.html#aa0c72e230b9a1324c95ba8ac0b07ba13">BatchOutputType</a> const &amp;outputs, <a class="el" href="classshark_1_1_abstract_model.html#aa0c72e230b9a1324c95ba8ac0b07ba13">BatchOutputType</a> const &amp;coefficients, <a class="el" href="structshark_1_1_state.html">State</a> const &amp;state, RealVector &amp;parameterDerivative, <a class="el" href="classshark_1_1_abstract_model.html#a518304e95092673b7b6438cace052ef6">BatchInputType</a> &amp;inputDerivative) const</td></tr>
<tr class="memdesc:adb4966b597013417b5e9957c84485c8c inherit pub_methods_classshark_1_1_abstract_model"><td class="mdescLeft">&#160;</td><td class="mdescRight">calculates weighted input and parameter derivative at the same time  <br /></td></tr>
<tr class="separator:adb4966b597013417b5e9957c84485c8c inherit pub_methods_classshark_1_1_abstract_model"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pub_methods_classshark_1_1_i_parameterizable"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_classshark_1_1_i_parameterizable')"><img src="closed.png" alt="-"/>&#160;Public Member Functions inherited from <a class="el" href="classshark_1_1_i_parameterizable.html">shark::IParameterizable&lt; VectorType &gt;</a></td></tr>
<tr class="memitem:a9e3a11172e74d1aa7292f3de4e2b6ebc inherit pub_methods_classshark_1_1_i_parameterizable" id="r_a9e3a11172e74d1aa7292f3de4e2b6ebc"><td class="memItemLeft" align="right" valign="top">virtual&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classshark_1_1_i_parameterizable.html#a9e3a11172e74d1aa7292f3de4e2b6ebc">~IParameterizable</a> ()</td></tr>
<tr class="separator:a9e3a11172e74d1aa7292f3de4e2b6ebc inherit pub_methods_classshark_1_1_i_parameterizable"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pub_methods_classshark_1_1_i_nameable"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_classshark_1_1_i_nameable')"><img src="closed.png" alt="-"/>&#160;Public Member Functions inherited from <a class="el" href="classshark_1_1_i_nameable.html">shark::INameable</a></td></tr>
<tr class="memitem:a877dbdfc6b58ea836495143cea44a98c inherit pub_methods_classshark_1_1_i_nameable" id="r_a877dbdfc6b58ea836495143cea44a98c"><td class="memItemLeft" align="right" valign="top">virtual&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classshark_1_1_i_nameable.html#a877dbdfc6b58ea836495143cea44a98c">~INameable</a> ()</td></tr>
<tr class="separator:a877dbdfc6b58ea836495143cea44a98c inherit pub_methods_classshark_1_1_i_nameable"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pub_methods_classshark_1_1_i_serializable"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_classshark_1_1_i_serializable')"><img src="closed.png" alt="-"/>&#160;Public Member Functions inherited from <a class="el" href="classshark_1_1_i_serializable.html">shark::ISerializable</a></td></tr>
<tr class="memitem:a7baa9ce108d7278822297ce15882782a inherit pub_methods_classshark_1_1_i_serializable" id="r_a7baa9ce108d7278822297ce15882782a"><td class="memItemLeft" align="right" valign="top">virtual&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classshark_1_1_i_serializable.html#a7baa9ce108d7278822297ce15882782a">~ISerializable</a> ()</td></tr>
<tr class="memdesc:a7baa9ce108d7278822297ce15882782a inherit pub_methods_classshark_1_1_i_serializable"><td class="mdescLeft">&#160;</td><td class="mdescRight">Virtual d'tor.  <br /></td></tr>
<tr class="separator:a7baa9ce108d7278822297ce15882782a inherit pub_methods_classshark_1_1_i_serializable"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abdda0c5b8e065b8afbac2cba8f58e841 inherit pub_methods_classshark_1_1_i_serializable" id="r_abdda0c5b8e065b8afbac2cba8f58e841"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classshark_1_1_i_serializable.html#abdda0c5b8e065b8afbac2cba8f58e841">load</a> (<a class="el" href="namespaceshark.html#ada68729491840669e47c8ad42282424f">InArchive</a> &amp;archive, unsigned int version)</td></tr>
<tr class="memdesc:abdda0c5b8e065b8afbac2cba8f58e841 inherit pub_methods_classshark_1_1_i_serializable"><td class="mdescLeft">&#160;</td><td class="mdescRight">Versioned loading of components, calls read(...).  <br /></td></tr>
<tr class="separator:abdda0c5b8e065b8afbac2cba8f58e841 inherit pub_methods_classshark_1_1_i_serializable"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5bf66fa8db15cc529bec98976a2f5255 inherit pub_methods_classshark_1_1_i_serializable" id="r_a5bf66fa8db15cc529bec98976a2f5255"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classshark_1_1_i_serializable.html#a5bf66fa8db15cc529bec98976a2f5255">save</a> (<a class="el" href="namespaceshark.html#af4f8eb8e9618f5236b71bbcb12b8a524">OutArchive</a> &amp;archive, unsigned int version) const</td></tr>
<tr class="memdesc:a5bf66fa8db15cc529bec98976a2f5255 inherit pub_methods_classshark_1_1_i_serializable"><td class="mdescLeft">&#160;</td><td class="mdescRight">Versioned storing of components, calls write(...).  <br /></td></tr>
<tr class="separator:a5bf66fa8db15cc529bec98976a2f5255 inherit pub_methods_classshark_1_1_i_serializable"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4560a94e8f4908fe8627e41e7d965735 inherit pub_methods_classshark_1_1_i_serializable" id="r_a4560a94e8f4908fe8627e41e7d965735"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classshark_1_1_i_serializable.html#a4560a94e8f4908fe8627e41e7d965735">BOOST_SERIALIZATION_SPLIT_MEMBER</a> ()</td></tr>
<tr class="separator:a4560a94e8f4908fe8627e41e7d965735 inherit pub_methods_classshark_1_1_i_serializable"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pro-attribs" name="pro-attribs"></a>
Protected Attributes</h2></td></tr>
<tr class="memitem:a47e3acee6084df0af2c5cfcfd116c57d" id="r_a47e3acee6084df0af2c5cfcfd116c57d"><td class="memItemLeft" align="right" valign="top">RealMatrix&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classshark_1_1_r_b_f_layer.html#a47e3acee6084df0af2c5cfcfd116c57d">m_centers</a></td></tr>
<tr class="memdesc:a47e3acee6084df0af2c5cfcfd116c57d"><td class="mdescLeft">&#160;</td><td class="mdescRight">The center points. The i-th element corresponds to the center of neuron number i.  <br /></td></tr>
<tr class="separator:a47e3acee6084df0af2c5cfcfd116c57d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abe31b5060f353d51e3ad91033ea74b93" id="r_abe31b5060f353d51e3ad91033ea74b93"><td class="memItemLeft" align="right" valign="top">RealVector&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classshark_1_1_r_b_f_layer.html#abe31b5060f353d51e3ad91033ea74b93">m_gamma</a></td></tr>
<tr class="memdesc:abe31b5060f353d51e3ad91033ea74b93"><td class="mdescLeft">&#160;</td><td class="mdescRight">stores the width parameters of the Gaussian functions  <br /></td></tr>
<tr class="separator:abe31b5060f353d51e3ad91033ea74b93"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0542425d6c552464e08a91b36fe869be" id="r_a0542425d6c552464e08a91b36fe869be"><td class="memItemLeft" align="right" valign="top">RealVector&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classshark_1_1_r_b_f_layer.html#a0542425d6c552464e08a91b36fe869be">m_logNormalization</a></td></tr>
<tr class="memdesc:a0542425d6c552464e08a91b36fe869be"><td class="mdescLeft">&#160;</td><td class="mdescRight">the logarithm of the normalization constant for every distribution  <br /></td></tr>
<tr class="separator:a0542425d6c552464e08a91b36fe869be"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae255d94e66059ddd373c4690aa25f5cc" id="r_ae255d94e66059ddd373c4690aa25f5cc"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classshark_1_1_r_b_f_layer.html#ae255d94e66059ddd373c4690aa25f5cc">m_trainCenters</a></td></tr>
<tr class="memdesc:ae255d94e66059ddd373c4690aa25f5cc"><td class="mdescLeft">&#160;</td><td class="mdescRight">enables learning of the center points of the neurons  <br /></td></tr>
<tr class="separator:ae255d94e66059ddd373c4690aa25f5cc"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a73ce38fb63627cc5f1ae4ad8c3aae9db" id="r_a73ce38fb63627cc5f1ae4ad8c3aae9db"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classshark_1_1_r_b_f_layer.html#a73ce38fb63627cc5f1ae4ad8c3aae9db">m_trainWidth</a></td></tr>
<tr class="memdesc:a73ce38fb63627cc5f1ae4ad8c3aae9db"><td class="mdescLeft">&#160;</td><td class="mdescRight">enables learning of the width parameters.  <br /></td></tr>
<tr class="separator:a73ce38fb63627cc5f1ae4ad8c3aae9db"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pro_attribs_classshark_1_1_abstract_model"><td colspan="2" onclick="javascript:toggleInherit('pro_attribs_classshark_1_1_abstract_model')"><img src="closed.png" alt="-"/>&#160;Protected Attributes inherited from <a class="el" href="classshark_1_1_abstract_model.html">shark::AbstractModel&lt; RealVector, RealVector &gt;</a></td></tr>
<tr class="memitem:a4c5a689901083e50007f53de72f694fc inherit pro_attribs_classshark_1_1_abstract_model" id="r_a4c5a689901083e50007f53de72f694fc"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classshark_1_1_abstract_model.html#aa6b242b73aadc63380181fdf4da1db84">Features</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classshark_1_1_abstract_model.html#a4c5a689901083e50007f53de72f694fc">m_features</a></td></tr>
<tr class="separator:a4c5a689901083e50007f53de72f694fc inherit pro_attribs_classshark_1_1_abstract_model"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="inherited" name="inherited"></a>
Additional Inherited Members</h2></td></tr>
<tr class="inherit_header pub_types_classshark_1_1_abstract_model"><td colspan="2" onclick="javascript:toggleInherit('pub_types_classshark_1_1_abstract_model')"><img src="closed.png" alt="-"/>&#160;Public Types inherited from <a class="el" href="classshark_1_1_abstract_model.html">shark::AbstractModel&lt; RealVector, RealVector &gt;</a></td></tr>
<tr class="memitem:a76a2d024b6013037b072596fe4f9f829 inherit pub_types_classshark_1_1_abstract_model" id="r_a76a2d024b6013037b072596fe4f9f829"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classshark_1_1_abstract_model.html#a76a2d024b6013037b072596fe4f9f829">Feature</a> </td></tr>
<tr class="separator:a76a2d024b6013037b072596fe4f9f829 inherit pub_types_classshark_1_1_abstract_model"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a714e85d7a6cd2b68898cb5dbb25c37d4 inherit pub_types_classshark_1_1_abstract_model" id="r_a714e85d7a6cd2b68898cb5dbb25c37d4"><td class="memItemLeft" align="right" valign="top">typedef RealVector&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classshark_1_1_abstract_model.html#a714e85d7a6cd2b68898cb5dbb25c37d4">InputType</a></td></tr>
<tr class="memdesc:a714e85d7a6cd2b68898cb5dbb25c37d4 inherit pub_types_classshark_1_1_abstract_model"><td class="mdescLeft">&#160;</td><td class="mdescRight">Defines the input type of the model.  <br /></td></tr>
<tr class="separator:a714e85d7a6cd2b68898cb5dbb25c37d4 inherit pub_types_classshark_1_1_abstract_model"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8e5acf043e3a76b50d15a852365801b4 inherit pub_types_classshark_1_1_abstract_model" id="r_a8e5acf043e3a76b50d15a852365801b4"><td class="memItemLeft" align="right" valign="top">typedef RealVector&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classshark_1_1_abstract_model.html#a8e5acf043e3a76b50d15a852365801b4">OutputType</a></td></tr>
<tr class="memdesc:a8e5acf043e3a76b50d15a852365801b4 inherit pub_types_classshark_1_1_abstract_model"><td class="mdescLeft">&#160;</td><td class="mdescRight">Defines the output type of the model.  <br /></td></tr>
<tr class="separator:a8e5acf043e3a76b50d15a852365801b4 inherit pub_types_classshark_1_1_abstract_model"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7fccb0cdf4c0b47afbe5da03532b9b4e inherit pub_types_classshark_1_1_abstract_model" id="r_a7fccb0cdf4c0b47afbe5da03532b9b4e"><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="classshark_1_1_abstract_model.html">AbstractModel</a>&lt; RealVector, RealVector, RealVector &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classshark_1_1_abstract_model.html#a7fccb0cdf4c0b47afbe5da03532b9b4e">ModelBaseType</a></td></tr>
<tr class="memdesc:a7fccb0cdf4c0b47afbe5da03532b9b4e inherit pub_types_classshark_1_1_abstract_model"><td class="mdescLeft">&#160;</td><td class="mdescRight">Defines the BaseType used by the model (this type). Useful for creating derived models.  <br /></td></tr>
<tr class="separator:a7fccb0cdf4c0b47afbe5da03532b9b4e inherit pub_types_classshark_1_1_abstract_model"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a518304e95092673b7b6438cace052ef6 inherit pub_types_classshark_1_1_abstract_model" id="r_a518304e95092673b7b6438cace052ef6"><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="structshark_1_1_batch.html">Batch</a>&lt; <a class="el" href="classshark_1_1_abstract_model.html#a714e85d7a6cd2b68898cb5dbb25c37d4">InputType</a> &gt;::type&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classshark_1_1_abstract_model.html#a518304e95092673b7b6438cace052ef6">BatchInputType</a></td></tr>
<tr class="memdesc:a518304e95092673b7b6438cace052ef6 inherit pub_types_classshark_1_1_abstract_model"><td class="mdescLeft">&#160;</td><td class="mdescRight">defines the batch type of the input type.  <br /></td></tr>
<tr class="separator:a518304e95092673b7b6438cace052ef6 inherit pub_types_classshark_1_1_abstract_model"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa0c72e230b9a1324c95ba8ac0b07ba13 inherit pub_types_classshark_1_1_abstract_model" id="r_aa0c72e230b9a1324c95ba8ac0b07ba13"><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="structshark_1_1_batch.html">Batch</a>&lt; <a class="el" href="classshark_1_1_abstract_model.html#a8e5acf043e3a76b50d15a852365801b4">OutputType</a> &gt;::type&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classshark_1_1_abstract_model.html#aa0c72e230b9a1324c95ba8ac0b07ba13">BatchOutputType</a></td></tr>
<tr class="memdesc:aa0c72e230b9a1324c95ba8ac0b07ba13 inherit pub_types_classshark_1_1_abstract_model"><td class="mdescLeft">&#160;</td><td class="mdescRight">defines the batch type of the output type  <br /></td></tr>
<tr class="separator:aa0c72e230b9a1324c95ba8ac0b07ba13 inherit pub_types_classshark_1_1_abstract_model"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa6b242b73aadc63380181fdf4da1db84 inherit pub_types_classshark_1_1_abstract_model" id="r_aa6b242b73aadc63380181fdf4da1db84"><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="classshark_1_1_typed_flags.html">TypedFlags</a>&lt; <a class="el" href="classshark_1_1_abstract_model.html#a76a2d024b6013037b072596fe4f9f829">Feature</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classshark_1_1_abstract_model.html#aa6b242b73aadc63380181fdf4da1db84">Features</a></td></tr>
<tr class="separator:aa6b242b73aadc63380181fdf4da1db84 inherit pub_types_classshark_1_1_abstract_model"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a48785f538572a695c46b9eec7a4a00f3 inherit pub_types_classshark_1_1_abstract_model" id="r_a48785f538572a695c46b9eec7a4a00f3"><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="classshark_1_1_typed_feature_not_available_exception.html">TypedFeatureNotAvailableException</a>&lt; <a class="el" href="classshark_1_1_abstract_model.html#a76a2d024b6013037b072596fe4f9f829">Feature</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classshark_1_1_abstract_model.html#a48785f538572a695c46b9eec7a4a00f3">FeatureNotAvailableException</a></td></tr>
<tr class="separator:a48785f538572a695c46b9eec7a4a00f3 inherit pub_types_classshark_1_1_abstract_model"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pub_types_classshark_1_1_i_parameterizable"><td colspan="2" onclick="javascript:toggleInherit('pub_types_classshark_1_1_i_parameterizable')"><img src="closed.png" alt="-"/>&#160;Public Types inherited from <a class="el" href="classshark_1_1_i_parameterizable.html">shark::IParameterizable&lt; VectorType &gt;</a></td></tr>
<tr class="memitem:a2ad5e2e60b2b352988b41f46024d790b inherit pub_types_classshark_1_1_i_parameterizable" id="r_a2ad5e2e60b2b352988b41f46024d790b"><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="_c_svm_linear_8cpp.html#ab106d665148183a2dc94dcf8716c9203">VectorType</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classshark_1_1_i_parameterizable.html#a2ad5e2e60b2b352988b41f46024d790b">ParameterVectorType</a></td></tr>
<tr class="separator:a2ad5e2e60b2b352988b41f46024d790b inherit pub_types_classshark_1_1_i_parameterizable"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>Implements a layer of radial basis functions in a neural network. </p>
<p>A Radial basis function layer as modeled in shark is a set of N Gaussian distributions \( p(x|i) \).  </p><p class="formulaDsp">
\[
  p(x|i) = e^{\gamma_i*\|x-m_i\|^2}
\]
</p>
<p> and the layer transforms an input x to a vector \((p(x|1),\dots,p(x|N)\). The \(\gamma_i\) govern the width of the Gaussians, while the vectors \( m_i \) set the centers of every Gaussian distribution.</p>
<p>RBF networks profit much from good guesses on the centers and kernel function parameters. In case of a Gaussian kernel a call to k-Means or the EM-algorithm can be used to get a good initialisation for the network. </p>

<p class="definition">Definition at line <a class="el" href="_r_b_f_layer_8h_source.html#l00057">57</a> of file <a class="el" href="_r_b_f_layer_8h_source.html">RBFLayer.h</a>.</p>
</div><h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
<a id="aa6b23dfb2c34ecbb5d96034eb17bd5b6" name="aa6b23dfb2c34ecbb5d96034eb17bd5b6"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa6b23dfb2c34ecbb5d96034eb17bd5b6">&#9670;&#160;</a></span>RBFLayer() <span class="overload">[1/2]</span></h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="_d_l_l_support_8h.html#a54b73283f7f70b27fbd8ac5d4621827f">SHARK_EXPORT_SYMBOL</a> shark::RBFLayer::RBFLayer </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Creates an empty Radial Basis Function layer. </p>

</div>
</div>
<a id="aa6a28b5b0f7b69d9b2a319b1e1e8408e" name="aa6a28b5b0f7b69d9b2a319b1e1e8408e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa6a28b5b0f7b69d9b2a319b1e1e8408e">&#9670;&#160;</a></span>RBFLayer() <span class="overload">[2/2]</span></h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="_d_l_l_support_8h.html#a54b73283f7f70b27fbd8ac5d4621827f">SHARK_EXPORT_SYMBOL</a> shark::RBFLayer::RBFLayer </td>
          <td>(</td>
          <td class="paramtype">std::size_t&#160;</td>
          <td class="paramname"><em>numInput</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">std::size_t&#160;</td>
          <td class="paramname"><em>numOutput</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Creates a layer of a Radial Basis Function Network. </p>
<p>This method creates a Radial Basis Function Network (RBFN) with <em>numInput</em> input neurons and <em>numOutput</em> output neurons.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">numInput</td><td>Number of input neurons, equal to dimensionality of input space. </td></tr>
    <tr><td class="paramname">numOutput</td><td>Number of output neurons, equal to dimensionality of output space and number of gaussian distributions </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<h2 class="groupheader">Member Function Documentation</h2>
<a id="af81dd8790d90e312bb3c7e595e86fe3f" name="af81dd8790d90e312bb3c7e595e86fe3f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#af81dd8790d90e312bb3c7e595e86fe3f">&#9670;&#160;</a></span>centers() <span class="overload">[1/2]</span></h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classshark_1_1_abstract_model.html#a518304e95092673b7b6438cace052ef6">BatchInputType</a> &amp; shark::RBFLayer::centers </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Sets the center values of the neurons. </p>

<p class="definition">Definition at line <a class="el" href="_r_b_f_layer_8h_source.html#l00147">147</a> of file <a class="el" href="_r_b_f_layer_8h_source.html">RBFLayer.h</a>.</p>

<p class="reference">References <a class="el" href="classshark_1_1_r_b_f_layer.html#a47e3acee6084df0af2c5cfcfd116c57d">m_centers</a>.</p>

</div>
</div>
<a id="ad8f489205e3fb40eb807298df0c4819a" name="ad8f489205e3fb40eb807298df0c4819a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad8f489205e3fb40eb807298df0c4819a">&#9670;&#160;</a></span>centers() <span class="overload">[2/2]</span></h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classshark_1_1_abstract_model.html#a518304e95092673b7b6438cace052ef6">BatchInputType</a> const  &amp; shark::RBFLayer::centers </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Returns the center values of the neurons. </p>

<p class="definition">Definition at line <a class="el" href="_r_b_f_layer_8h_source.html#l00143">143</a> of file <a class="el" href="_r_b_f_layer_8h_source.html">RBFLayer.h</a>.</p>

<p class="reference">References <a class="el" href="classshark_1_1_r_b_f_layer.html#a47e3acee6084df0af2c5cfcfd116c57d">m_centers</a>.</p>

</div>
</div>
<a id="a3193c0bff83fdf1e5ed37f12d9639351" name="a3193c0bff83fdf1e5ed37f12d9639351"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a3193c0bff83fdf1e5ed37f12d9639351">&#9670;&#160;</a></span>createState()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">boost::shared_ptr&lt; <a class="el" href="structshark_1_1_state.html">State</a> &gt; shark::RBFLayer::createState </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Creates an internal state of the model. </p>
<p>The state is needed when the derivatives are to be calculated. Eval can store a state which is then reused to speed up the calculations of the derivatives. This also allows eval to be evaluated in parallel! </p>

<p>Reimplemented from <a class="el" href="classshark_1_1_abstract_model.html#a47d80a74ce80e5dd5e2851c52738b86b">shark::AbstractModel&lt; RealVector, RealVector &gt;</a>.</p>

<p class="definition">Definition at line <a class="el" href="_r_b_f_layer_8h_source.html#l00109">109</a> of file <a class="el" href="_r_b_f_layer_8h_source.html">RBFLayer.h</a>.</p>

</div>
</div>
<a id="ab37758750b8174cf1d93aa5e90eacef1" name="ab37758750b8174cf1d93aa5e90eacef1"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ab37758750b8174cf1d93aa5e90eacef1">&#9670;&#160;</a></span>eval()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="_d_l_l_support_8h.html#a54b73283f7f70b27fbd8ac5d4621827f">SHARK_EXPORT_SYMBOL</a> void shark::RBFLayer::eval </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classshark_1_1_abstract_model.html#a518304e95092673b7b6438cace052ef6">BatchInputType</a> const &amp;&#160;</td>
          <td class="paramname"><em>patterns</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classshark_1_1_abstract_model.html#aa0c72e230b9a1324c95ba8ac0b07ba13">BatchOutputType</a> &amp;&#160;</td>
          <td class="paramname"><em>outputs</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structshark_1_1_state.html">State</a> &amp;&#160;</td>
          <td class="paramname"><em>state</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Standard interface for evaluating the response of the model to a batch of patterns. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">patterns</td><td>the inputs of the model </td></tr>
    <tr><td class="paramname">outputs</td><td>the predictions or response of the model to every pattern </td></tr>
    <tr><td class="paramname">state</td><td>intermediate results stored by eval which can be reused for derivative computation. </td></tr>
  </table>
  </dd>
</dl>

<p>Implements <a class="el" href="classshark_1_1_abstract_model.html#af6b99ab56d362609a144764922b4bd7b">shark::AbstractModel&lt; RealVector, RealVector &gt;</a>.</p>

</div>
</div>
<a id="ae5709681c4970ec1eecfc091ef67a17c" name="ae5709681c4970ec1eecfc091ef67a17c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae5709681c4970ec1eecfc091ef67a17c">&#9670;&#160;</a></span>gamma()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">RealVector const  &amp; shark::RBFLayer::gamma </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Returns the width parameter of the Gaussian functions. </p>

<p class="definition">Definition at line <a class="el" href="_r_b_f_layer_8h_source.html#l00152">152</a> of file <a class="el" href="_r_b_f_layer_8h_source.html">RBFLayer.h</a>.</p>

<p class="reference">References <a class="el" href="classshark_1_1_r_b_f_layer.html#abe31b5060f353d51e3ad91033ea74b93">m_gamma</a>.</p>

</div>
</div>
<a id="a44b2ae85c21a914c7e82b613fd99b311" name="a44b2ae85c21a914c7e82b613fd99b311"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a44b2ae85c21a914c7e82b613fd99b311">&#9670;&#160;</a></span>inputShape()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classshark_1_1_shape.html">Shape</a> shark::RBFLayer::inputShape </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Returns the number of input neurons. </p>

<p>Implements <a class="el" href="classshark_1_1_abstract_model.html#a56391736859ddea5d1011d2248431b47">shark::AbstractModel&lt; RealVector, RealVector &gt;</a>.</p>

<p class="definition">Definition at line <a class="el" href="_r_b_f_layer_8h_source.html#l00100">100</a> of file <a class="el" href="_r_b_f_layer_8h_source.html">RBFLayer.h</a>.</p>

<p class="reference">References <a class="el" href="classshark_1_1_r_b_f_layer.html#a47e3acee6084df0af2c5cfcfd116c57d">m_centers</a>.</p>

</div>
</div>
<a id="a5c92a238e03636179012151422f54024" name="a5c92a238e03636179012151422f54024"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a5c92a238e03636179012151422f54024">&#9670;&#160;</a></span>name()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">std::string shark::RBFLayer::name </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>From <a class="el" href="classshark_1_1_i_nameable.html" title="This class is an interface for all objects which can have a name.">INameable</a>: return the class name. </p>

<p>Reimplemented from <a class="el" href="classshark_1_1_i_nameable.html#a9893f99314de30cd472e649c235d0db4">shark::INameable</a>.</p>

<p class="definition">Definition at line <a class="el" href="_r_b_f_layer_8h_source.html#l00084">84</a> of file <a class="el" href="_r_b_f_layer_8h_source.html">RBFLayer.h</a>.</p>

</div>
</div>
<a id="ae53a34bf645bccbbbc940159401268cc" name="ae53a34bf645bccbbbc940159401268cc"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae53a34bf645bccbbbc940159401268cc">&#9670;&#160;</a></span>numberOfParameters()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="_d_l_l_support_8h.html#a54b73283f7f70b27fbd8ac5d4621827f">SHARK_EXPORT_SYMBOL</a> std::size_t shark::RBFLayer::numberOfParameters </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Returns the number of parameters which are currently enabled for training. </p>

<p>Reimplemented from <a class="el" href="classshark_1_1_i_parameterizable.html#aed1e8d1d4dbde387e2f6a25141ed3a20">shark::IParameterizable&lt; VectorType &gt;</a>.</p>

</div>
</div>
<a id="a5f0b042b8eaffbd25b1c3b980f0073c5" name="a5f0b042b8eaffbd25b1c3b980f0073c5"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a5f0b042b8eaffbd25b1c3b980f0073c5">&#9670;&#160;</a></span>outputShape()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classshark_1_1_shape.html">Shape</a> shark::RBFLayer::outputShape </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Returns the number of output neurons. </p>

<p>Implements <a class="el" href="classshark_1_1_abstract_model.html#a54b8655a750489902560a5eb32ba5b4b">shark::AbstractModel&lt; RealVector, RealVector &gt;</a>.</p>

<p class="definition">Definition at line <a class="el" href="_r_b_f_layer_8h_source.html#l00105">105</a> of file <a class="el" href="_r_b_f_layer_8h_source.html">RBFLayer.h</a>.</p>

<p class="reference">References <a class="el" href="classshark_1_1_r_b_f_layer.html#a47e3acee6084df0af2c5cfcfd116c57d">m_centers</a>.</p>

</div>
</div>
<a id="a5e089c9692be82ff557922798fecd588" name="a5e089c9692be82ff557922798fecd588"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a5e089c9692be82ff557922798fecd588">&#9670;&#160;</a></span>parameterVector()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="_d_l_l_support_8h.html#a54b73283f7f70b27fbd8ac5d4621827f">SHARK_EXPORT_SYMBOL</a> RealVector shark::RBFLayer::parameterVector </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Returns the current parameter vector. The amount and order of weights depend on the training parameters. </p>
<p>The format of the parameter vector is \( (m_1,\dots,m_k,\log(\gamma_1),\dots,\log(\gamma_k))\) if training of one or more parameters is deactivated, they are removed from the parameter vector </p>

<p>Reimplemented from <a class="el" href="classshark_1_1_i_parameterizable.html#afaa2ba692ab64a0edbff60d7ee6794db">shark::IParameterizable&lt; VectorType &gt;</a>.</p>

</div>
</div>
<a id="a332b99e89c51c3a80da79691f7b878f5" name="a332b99e89c51c3a80da79691f7b878f5"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a332b99e89c51c3a80da79691f7b878f5">&#9670;&#160;</a></span>read()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="_d_l_l_support_8h.html#a54b73283f7f70b27fbd8ac5d4621827f">SHARK_EXPORT_SYMBOL</a> void shark::RBFLayer::read </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="namespaceshark.html#ada68729491840669e47c8ad42282424f">InArchive</a> &amp;&#160;</td>
          <td class="paramname"><em>archive</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>From <a class="el" href="classshark_1_1_i_serializable.html" title="Abstracts serializing functionality.">ISerializable</a>, reads a model from an archive. </p>

<p>Reimplemented from <a class="el" href="classshark_1_1_abstract_model.html#a11203dd6f50218e4c341a5d24ff5d543">shark::AbstractModel&lt; RealVector, RealVector &gt;</a>.</p>

</div>
</div>
<a id="a9cd0894ca90ba7ec7c52956c22ada23c" name="a9cd0894ca90ba7ec7c52956c22ada23c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a9cd0894ca90ba7ec7c52956c22ada23c">&#9670;&#160;</a></span>setGamma()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="_d_l_l_support_8h.html#a54b73283f7f70b27fbd8ac5d4621827f">SHARK_EXPORT_SYMBOL</a> void shark::RBFLayer::setGamma </td>
          <td>(</td>
          <td class="paramtype">RealVector const &amp;&#160;</td>
          <td class="paramname"><em>gamma</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>sets the width parameters - the gamma values - of the distributions. </p>

</div>
</div>
<a id="a8b8883b0033bb8a18936be6ee378d866" name="a8b8883b0033bb8a18936be6ee378d866"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a8b8883b0033bb8a18936be6ee378d866">&#9670;&#160;</a></span>setParameterVector()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="_d_l_l_support_8h.html#a54b73283f7f70b27fbd8ac5d4621827f">SHARK_EXPORT_SYMBOL</a> void shark::RBFLayer::setParameterVector </td>
          <td>(</td>
          <td class="paramtype">RealVector const &amp;&#160;</td>
          <td class="paramname"><em>newParameters</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Sets the new internal parameters. </p>

<p>Reimplemented from <a class="el" href="classshark_1_1_i_parameterizable.html#ad5e35d1a10ff36fa72ea787baa40e9ad">shark::IParameterizable&lt; VectorType &gt;</a>.</p>

</div>
</div>
<a id="a1218b1268f1cac744be2ac911fce9484" name="a1218b1268f1cac744be2ac911fce9484"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a1218b1268f1cac744be2ac911fce9484">&#9670;&#160;</a></span>setStructure()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="_d_l_l_support_8h.html#a54b73283f7f70b27fbd8ac5d4621827f">SHARK_EXPORT_SYMBOL</a> void shark::RBFLayer::setStructure </td>
          <td>(</td>
          <td class="paramtype">std::size_t&#160;</td>
          <td class="paramname"><em>numInput</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">std::size_t&#160;</td>
          <td class="paramname"><em>numOutput</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Configures a Radial Basis Function Network. </p>
<p>This method initializes the structure of the Radial Basis Function Network (RBFN) with <em>numInput</em> input neurons, <em>numOutput</em> output neurons and <em>numHidden</em> hidden neurons.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">numInput</td><td>Number of input neurons, equal to dimensionality of input space. </td></tr>
    <tr><td class="paramname">numOutput</td><td>Number of output neurons (basis functions), equal to dimensionality of output space. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a id="ab5f5fa653d9306ed7f27d415531d1b75" name="ab5f5fa653d9306ed7f27d415531d1b75"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ab5f5fa653d9306ed7f27d415531d1b75">&#9670;&#160;</a></span>setTrainingParameters()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="_d_l_l_support_8h.html#a54b73283f7f70b27fbd8ac5d4621827f">SHARK_EXPORT_SYMBOL</a> void shark::RBFLayer::setTrainingParameters </td>
          <td>(</td>
          <td class="paramtype">bool&#160;</td>
          <td class="paramname"><em>centers</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool&#160;</td>
          <td class="paramname"><em>width</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Enables or disables parameters for learning. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">centers</td><td>whether the centers should be trained </td></tr>
    <tr><td class="paramname">width</td><td>whether the distribution width should be trained </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a id="ae157c4443c817e640e439081a380c1c9" name="ae157c4443c817e640e439081a380c1c9"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae157c4443c817e640e439081a380c1c9">&#9670;&#160;</a></span>weightedParameterDerivative()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="_d_l_l_support_8h.html#a54b73283f7f70b27fbd8ac5d4621827f">SHARK_EXPORT_SYMBOL</a> void shark::RBFLayer::weightedParameterDerivative </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classshark_1_1_abstract_model.html#a518304e95092673b7b6438cace052ef6">BatchInputType</a> const &amp;&#160;</td>
          <td class="paramname"><em>pattern</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classshark_1_1_abstract_model.html#aa0c72e230b9a1324c95ba8ac0b07ba13">BatchOutputType</a> const &amp;&#160;</td>
          <td class="paramname"><em>outputs</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classshark_1_1_abstract_model.html#aa0c72e230b9a1324c95ba8ac0b07ba13">BatchOutputType</a> const &amp;&#160;</td>
          <td class="paramname"><em>coefficients</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structshark_1_1_state.html">State</a> const &amp;&#160;</td>
          <td class="paramname"><em>state</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">RealVector &amp;&#160;</td>
          <td class="paramname"><em>derivative</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>calculates the weighted sum of derivatives w.r.t the parameters. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">pattern</td><td>the patterns to evaluate </td></tr>
    <tr><td class="paramname">outputs</td><td>the target outputs </td></tr>
    <tr><td class="paramname">coefficients</td><td>the coefficients which are used to calculate the weighted sum for every pattern </td></tr>
    <tr><td class="paramname">state</td><td>intermediate results stored by eval to speed up calculations of the derivatives </td></tr>
    <tr><td class="paramname">derivative</td><td>the calculated derivative as sum over all derivates of all patterns </td></tr>
  </table>
  </dd>
</dl>

<p>Reimplemented from <a class="el" href="classshark_1_1_abstract_model.html#ad699b6b1f813c5cc3b3ed45f254dbc1d">shark::AbstractModel&lt; RealVector, RealVector &gt;</a>.</p>

</div>
</div>
<a id="a05b2cbad373fbe6e71cae2df22cc6887" name="a05b2cbad373fbe6e71cae2df22cc6887"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a05b2cbad373fbe6e71cae2df22cc6887">&#9670;&#160;</a></span>write()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="_d_l_l_support_8h.html#a54b73283f7f70b27fbd8ac5d4621827f">SHARK_EXPORT_SYMBOL</a> void shark::RBFLayer::write </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="namespaceshark.html#af4f8eb8e9618f5236b71bbcb12b8a524">OutArchive</a> &amp;&#160;</td>
          <td class="paramname"><em>archive</em></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>From <a class="el" href="classshark_1_1_i_serializable.html" title="Abstracts serializing functionality.">ISerializable</a>, writes a model to an archive. </p>

<p>Reimplemented from <a class="el" href="classshark_1_1_abstract_model.html#a7d3f3d4d781954dc43d6cd445a5b56b4">shark::AbstractModel&lt; RealVector, RealVector &gt;</a>.</p>

</div>
</div>
<h2 class="groupheader">Member Data Documentation</h2>
<a id="a47e3acee6084df0af2c5cfcfd116c57d" name="a47e3acee6084df0af2c5cfcfd116c57d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a47e3acee6084df0af2c5cfcfd116c57d">&#9670;&#160;</a></span>m_centers</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">RealMatrix shark::RBFLayer::m_centers</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>The center points. The i-th element corresponds to the center of neuron number i. </p>

<p class="definition">Definition at line <a class="el" href="_r_b_f_layer_8h_source.html#l00168">168</a> of file <a class="el" href="_r_b_f_layer_8h_source.html">RBFLayer.h</a>.</p>

<p class="reference">Referenced by <a class="el" href="classshark_1_1_r_b_f_layer.html#af81dd8790d90e312bb3c7e595e86fe3f">centers()</a>, <a class="el" href="classshark_1_1_r_b_f_layer.html#ad8f489205e3fb40eb807298df0c4819a">centers()</a>, <a class="el" href="classshark_1_1_r_b_f_layer.html#a44b2ae85c21a914c7e82b613fd99b311">inputShape()</a>, and <a class="el" href="classshark_1_1_r_b_f_layer.html#a5f0b042b8eaffbd25b1c3b980f0073c5">outputShape()</a>.</p>

</div>
</div>
<a id="abe31b5060f353d51e3ad91033ea74b93" name="abe31b5060f353d51e3ad91033ea74b93"></a>
<h2 class="memtitle"><span class="permalink"><a href="#abe31b5060f353d51e3ad91033ea74b93">&#9670;&#160;</a></span>m_gamma</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">RealVector shark::RBFLayer::m_gamma</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>stores the width parameters of the Gaussian functions </p>

<p class="definition">Definition at line <a class="el" href="_r_b_f_layer_8h_source.html#l00171">171</a> of file <a class="el" href="_r_b_f_layer_8h_source.html">RBFLayer.h</a>.</p>

<p class="reference">Referenced by <a class="el" href="classshark_1_1_r_b_f_layer.html#ae5709681c4970ec1eecfc091ef67a17c">gamma()</a>.</p>

</div>
</div>
<a id="a0542425d6c552464e08a91b36fe869be" name="a0542425d6c552464e08a91b36fe869be"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a0542425d6c552464e08a91b36fe869be">&#9670;&#160;</a></span>m_logNormalization</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">RealVector shark::RBFLayer::m_logNormalization</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>the logarithm of the normalization constant for every distribution </p>

<p class="definition">Definition at line <a class="el" href="_r_b_f_layer_8h_source.html#l00174">174</a> of file <a class="el" href="_r_b_f_layer_8h_source.html">RBFLayer.h</a>.</p>

</div>
</div>
<a id="ae255d94e66059ddd373c4690aa25f5cc" name="ae255d94e66059ddd373c4690aa25f5cc"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae255d94e66059ddd373c4690aa25f5cc">&#9670;&#160;</a></span>m_trainCenters</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">bool shark::RBFLayer::m_trainCenters</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>enables learning of the center points of the neurons </p>

<p class="definition">Definition at line <a class="el" href="_r_b_f_layer_8h_source.html#l00178">178</a> of file <a class="el" href="_r_b_f_layer_8h_source.html">RBFLayer.h</a>.</p>

</div>
</div>
<a id="a73ce38fb63627cc5f1ae4ad8c3aae9db" name="a73ce38fb63627cc5f1ae4ad8c3aae9db"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a73ce38fb63627cc5f1ae4ad8c3aae9db">&#9670;&#160;</a></span>m_trainWidth</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">bool shark::RBFLayer::m_trainWidth</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>enables learning of the width parameters. </p>

<p class="definition">Definition at line <a class="el" href="_r_b_f_layer_8h_source.html#l00180">180</a> of file <a class="el" href="_r_b_f_layer_8h_source.html">RBFLayer.h</a>.</p>

</div>
</div>
<hr/>The documentation for this class was generated from the following file:<ul>
<li>include/shark/Models/<a class="el" href="_r_b_f_layer_8h_source.html">RBFLayer.h</a></li>
</ul>
</div><!-- contents -->
</div>
</body>
</html>
